Automatic Repeat reQuest (ARQ), also known as Automatic Repeat Query, is an error-control method for data transmission that uses acknowledgements (messages sent by the receiver indicating that it has correctly received a data frame or packet) and timeouts (specified periods of time allowed to elapse before an acknowledgment is to be received) to achieve reliable data transmission over an unreliable service. If the sender does not receive an acknowledgment before the timeout, it usually re-transmits the frame/packet until the sender receives an acknowledgment or exceeds a predefined number of re-transmissions.
The types of ARQ protocols include
These protocols reside in the Data Link or Transport Layers of the OSI model.
The Transmission Control Protocol uses a variant of Go-Back-N ARQ to ensure reliable transmission of data over the Internet Protocol, which does not provide guaranteed delivery of packets; with Selective Acknowledgement (SACK), it uses Selective Repeat ARQ.
The ITU-T G.hn standard, which provides a way to create a high-speed (up to 1 Gbit/s) local area network using existing residential wiring (power lines, telephone lines, and coaxial cables), uses Selective Repeat ARQ to ensure reliable transmission over noisy media.